This invention relates to the field of network analysis, and in particular to the simulation and capture of message and packet transmissions corresponding to select applications.
Network simulation is commonly used to design and maintain communication networks. Proposed networks are modeled and simulated to estimate and/or verify the expected performance of the network. Existing networks are modeled and simulated to determine the effects of proposed changes to the network, or to facilitate the diagnosis of unexpected network degradation.
Generally, networks are modeled down at the transport protocol layer, wherein the simulation models the transport of discrete packets among nodes in the network. Traffic approximating the expected traffic in the actual network is simulated and the nodes in the modeled network simulate the processing and propagation of this traffic through the network. Based on this simulation of packet flow, the network performance measures for the nodes and links of the network can be estimated, such as propagation and queuing delays, drop rates, retransmission rates, and so on, In this manner, for example, bottle-necks in network can be identified, and changes to the network simulated to determine whether such bottle-necks are relieved by the changes.
Simulation is also used to determine how well the network performs when running a variety of select applications, to verify the network's suitability for running these applications, as well as identifying any potential problems with running each application in this network environment. Although a simulation of an application operating solely on the network may identify particular performance limitations for that application, these problem areas may not be the primary causes of performance problems when the application runs concurrently with other applications on the network. Therefore, simulations are generally performed wherein the application is simulated with traffic from other applications.
Although network simulation is very effective for determining overall network characteristics at the transport layer, considerable expertise and additional analysis are required to determine how the behavior of the network limits or enhances the performance of any particular application in a multi-application simulation. For example, in a distributed data base application, the provider of the application may be interested in determining the bottle-necks in the application, and such bottle-necks do not necessarily correspond to the network bottle-necks. A particular set of links may be bottlenecks to a network, but unless those links are used by the application, they will not be the cause of any performance limitations associated with the application. In like manner, a set of nodes or links may exhibit acceptable overall throughput, with relatively few peak or overload demand intervals, and thus not identified as areas of the network that require improvement; but, if these peak demands are correlated to the application, an improvement may be required to properly support this application.
It is an objective of this invention to facilitate the analysis of the performance of an application that is configured to operate via network communications. It is a further objective of this invention to provide a schema for tracking simulated communications related to select applications.
These objectives, and others, are achieved by a method and system that facilitate the capture of performance metrics related to the processing and propagation of messages related to select applications during a simulation of a network. Each message associated with an application is tagged, and each simulated packet that contains some or all of a tagged message is correspondingly tagged to facilitate the creation of transmit records and receive records. A post processor is configured to collate transmit and receive records of each tagged message to identify delays associated with each node that processes the message, and each link that propagates the message from node to node within the network. The processed timing information is provided to the user via an interactive user interface that allows the user to view the timing information from an application layer perspective.
Throughout the drawings, the same reference numerals indicate similar or corresponding features or functions. The drawings are included for illustrative purposes and are not intended to limit the scope of the invention.